//======================
// Filename: draw.h
//======================
#ifndef _DRAW_H
#define _DRAW_H

//===================
// Includes
//===================
#include <math.h>

#include <SDL.h>
#include <SDL_opengl.h>

//
//
//
#include "../math/vector2f.h"

//
//
//
#define PI 3.14159265

//================
// Class: Draw
//================
class Draw {

public:
	static Draw* GetSingleton();
	~Draw();

	void Color3f(float r, float g, float b);

	void DrawCircle(float X, float Y, float radius);
	void DrawCircle(Vector2f center, float radius);

	void DrawTriangle(float X1, float Y1, float X2, float Y2, float X3, float Y3);
	void DrawTriangle(Vector2f p1, Vector2f p2, Vector2f p3);

	void DrawRectangle(float X1, float Y1, float X2, float Y2);
	void DrawRectangle(Vector2f p1, Vector2f p2);

private:
	Draw() {};

	Draw(const Draw&);
	void operator=(const Draw&);

private:
	double m_Red, m_Green, m_Blue;
	
};

#endif